The disclosures herein relate to computers, and more specifically to configuring computers to meet customers build-to-order requirements.
This application relates to U.S. patent application Ser. No. 08/514,649, filed on Aug. 14, 1995, now U.S. Pat. No. 5,894,571, issued Apr. 13, 1999, entitled PROCESS FOR CONFIGURING SOFTWARE IN A BUILD-TO-ORDER COMPUTER SYSTEM, naming Clint H. O'Conner as inventor; U.S. patent application Ser. No. 09/012,962, filed on Jan. 26, 1998, now U.S. Pat. No. 6,182,275, issued Jan. 30, 2001, entitled GENERATION OF A COMPATIBLE ORDER FOR A COMPUTER SYSTEM, naming Alan E. Beelitz and Paul J. Maia, as inventors; and U.S. patent application Ser. No. 09/158,564, filed on Sep. 22, 1998, now U.S. Pat. No. 6,167,383, issued Dec. 26, 2000, entitled METHOD AND APPARATUS FOR PROVIDING CUSTOMER CONFIGURED MACHINES AT AN INTERNET SITE, naming Ken Henson as inventor. The above-listed issued patents are incorporated herein by reference in their entirety, and assigned to the assignee of the present invention.
A computer manufacturer will typically be prepared to supply customers with virtually any combination of hardware and software which a customer may require. The combination of hardware units which the customer requires will obviously have to be physically assembled together. The combination of software systems must also obviously be assembled together and then loaded onto the hardware.
Both hardware and software units frequently offer many options. For hardware, the appropriate choices for the various options for the different units obviously have to be made when the units are being selected and assembled. For software, the options essentially involve selecting and loading the appropriate modules.
The customer generally has a wide choice of hardware units, depending on their particular needs. The types of hardware units range from specialized ones, such as drafting units, to those which are near-universal, such as Visual Display Units (VDU's) and printers. For each of these units, there is a wide variety of different types. The one true universal unit is the central processor, without which, no other unit can usefully run.
Similarly, the customer generally has a wide choice of software packages, depending on their particular needs. The types of software packages range from specialized ones such as special-purpose statistics packages and 3 dimensional CAD/CAM packages to those which are near-universal, such as word processing packages (it is a rare computer which does not have at least some basic word-processing capability). Again, for each of these units, there is a wide variety of different types. The one true universal package is the operating system, without which, no application packages can run.
With hardware, there are broadly two types of options. Some options are true hardware options, e.g., which type of drive or modem should be included in the system. Others are settable, typically involving the setting of an array of small switches, for example as used on a printer. The manufacturer is obviously responsible for ensuring that the desired set of hardware features is included in each hardware unit supplied. However, the correct setting of the settable features is normally left to the customer. The setting of peripheral units such as printers is normally regarded as relatively simple. The customer will often not be in a position to make an informed choice of the settings until they have read and digested the operating instructions for the unit. Many types of units are bought in by the manufacturer, who may therefore have limited knowledge and expertise concerning them.
Turning to software, many software modules or packages incorporate a wide variety of options. It is normally the responsibility of the customer to select the appropriate options, typically on installing the software package, but often to some extent during use of the package. When a software package is “opened”, i.e. selected to run on the computer, the various options can usually be selected for setting or adjustment. In practice, major settings are likely to be made during installation, and minor ones during the first few times the program is run (though generally the options can be changed at any time if desired).
In a sense, by far the most important software package in any conventional computer is the operating system. It is fundamental in the sense that without it, none of the application packages will run. An operating system is normally permanently installed, and runs automatically whenever the computer is switched on (rather than having to be started up or “opened” like application software). Parts of the operating system may be resident in ROM rather than RAM, and many of the more basic of the operating system options may be set permanently by being “burned in” during their installation.
Operating systems have evolved to incorporate a large number of functions which in earlier days were performed by application programs, and this process is continuing. As a result, the number of options selectable in an operating system is becoming very large, and their complexity is also becoming very high.
It is realized that many of the most important settings of the operating system are concerned with functions which affect the operation and efficiency of the computer system. To select such settings properly, considerable acquaintance with the nature and details of the computer system is required. These settings affect what may be termed the internal workings of the system. This is in contrast to the settings required in typical applications programs, which are in general much more readily appreciated by the user and the effects of which are in general much more readily apparent in the behavior of the program.
Therefore, what is needed is to provide a technique for making software settings of a computer system, and more particularly to provide a technique which is applicable to the settings required for operating systems.